package util.form.respuesta;

import util.form.pregunta.Restriccion0;
import util.form.respuesta.listener.OnInputInvalidoListener;
import util.form.respuesta.listener.ValorCommand;

public abstract class AbstractInput0<C extends AbstractInput0<C>> 
extends AbstractInput<C,Restriccion0,Input,ValorCommand<Input>> {

	@Override
	public boolean contieneValor(String valor) {
		return false;
	}
	
	
	@Override
	public boolean isValido(OnInputInvalidoListener listener)
			throws Exception {
		try {
			/*
			if(isIncompleto()) {
				if(isRequerido()) {
					throw new InputInvalidoException(this.getMensajeRequerido());
				}
			}
			*/	
			
			this.getPregunta().validarRestricciones(null);								
		}
		catch(InputInvalidoException e) {
			requestFocus();
			
			if(listener!=null)
				listener.onInvalido(e.getMessage());			
			return false;
		}
		return true;
	}
	
	@Override
	public boolean isVacio() {
		return false;
	}


	/*
	@Override
	public boolean preguntarPorOmisiones(
			OnAceptarCancelarListener dialogAceptarCancelarListener) {
		// TODO Auto-generated method stub
		return false;
	}*/

	@Override
	public void setMissing() throws Exception {
		// TODO Auto-generated method stub
		
	}
	
	
	//////////////////
	
	/*
	@Override
	public C setRequerido(boolean requerido) {
		getSubInputs().setRequerido(requerido);
		return super.setRequerido(requerido);
	}
	*/
}
